//
//  stack.hpp
//  Cpp_Demo
//
//  Created by Robin Guo on 2017/9/24.
//  Copyright © 2017年 Robin Guo. All rights reserved.
//

#ifndef stack_hpp
#define stack_hpp

#include <stdio.h>
#include <iostream>
#include "list.hpp"
#include "node.hpp"

using namespace std;

/*栈 
 数据成员：
 array
 常用的方法：
 push
 pop
 isEmpty
 top
 */

template <class T>
class stack: protected list<T> {
private:
    node<T> *_top;
    int _size;
    
public:
    stack();
    ~stack();
    virtual bool isEmpty();
    virtual void push(T element);
    virtual T top();
    virtual T pop();
    virtual int size();
};



#endif /* stack_hpp */
